/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package org.hl7.v3.provider;

import java.util.ArrayList;
import java.util.Collection;

import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.Notifier;

import org.eclipse.emf.edit.provider.ChangeNotifier;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.provider.IChangeNotifier;
import org.eclipse.emf.edit.provider.IDisposable;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.INotifyChangedListener;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;

import org.hl7.v3.util.V3AdapterFactory;

/**
 * This is the factory that is used to provide the interfaces needed to support Viewers.
 * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
 * The adapters also support Eclipse property sheets.
 * Note that most of the adapters are shared among multiple instances.
 * <!-- begin-user-doc -->
 * <!-- end-user-doc -->
 * @generated
 */
public class V3ItemProviderAdapterFactory extends V3AdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
	/**
	 * This keeps track of the root adapter factory that delegates to this adapter factory.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected ComposedAdapterFactory parentAdapterFactory;

	/**
	 * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected IChangeNotifier changeNotifier = new ChangeNotifier();

	/**
	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Collection<Object> supportedTypes = new ArrayList<Object>();

	/**
	 * This constructs an instance.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public V3ItemProviderAdapterFactory() {
		supportedTypes.add(IEditingDomainItemProvider.class);
		supportedTypes.add(IStructuredItemContentProvider.class);
		supportedTypes.add(ITreeItemContentProvider.class);
		supportedTypes.add(IItemLabelProvider.class);
		supportedTypes.add(IItemPropertySource.class);
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.AD} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected ADItemProvider adItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.AD}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createADAdapter() {
		if (adItemProvider == null) {
			adItemProvider = new ADItemProvider(this);
		}

		return adItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.ADXP} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected ADXPItemProvider adxpItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.ADXP}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createADXPAdapter() {
		if (adxpItemProvider == null) {
			adxpItemProvider = new ADXPItemProvider(this);
		}

		return adxpItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.AdxpAdditionalLocator} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected AdxpAdditionalLocatorItemProvider adxpAdditionalLocatorItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.AdxpAdditionalLocator}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createAdxpAdditionalLocatorAdapter() {
		if (adxpAdditionalLocatorItemProvider == null) {
			adxpAdditionalLocatorItemProvider = new AdxpAdditionalLocatorItemProvider(this);
		}

		return adxpAdditionalLocatorItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.AdxpBuildingNumberSuffix} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected AdxpBuildingNumberSuffixItemProvider adxpBuildingNumberSuffixItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.AdxpBuildingNumberSuffix}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createAdxpBuildingNumberSuffixAdapter() {
		if (adxpBuildingNumberSuffixItemProvider == null) {
			adxpBuildingNumberSuffixItemProvider = new AdxpBuildingNumberSuffixItemProvider(this);
		}

		return adxpBuildingNumberSuffixItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.AdxpCareOf} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected AdxpCareOfItemProvider adxpCareOfItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.AdxpCareOf}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createAdxpCareOfAdapter() {
		if (adxpCareOfItemProvider == null) {
			adxpCareOfItemProvider = new AdxpCareOfItemProvider(this);
		}

		return adxpCareOfItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.AdxpCensusTract} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected AdxpCensusTractItemProvider adxpCensusTractItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.AdxpCensusTract}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createAdxpCensusTractAdapter() {
		if (adxpCensusTractItemProvider == null) {
			adxpCensusTractItemProvider = new AdxpCensusTractItemProvider(this);
		}

		return adxpCensusTractItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.AdxpCity} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected AdxpCityItemProvider adxpCityItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.AdxpCity}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createAdxpCityAdapter() {
		if (adxpCityItemProvider == null) {
			adxpCityItemProvider = new AdxpCityItemProvider(this);
		}

		return adxpCityItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.AdxpCountry} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected AdxpCountryItemProvider adxpCountryItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.AdxpCountry}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createAdxpCountryAdapter() {
		if (adxpCountryItemProvider == null) {
			adxpCountryItemProvider = new AdxpCountryItemProvider(this);
		}

		return adxpCountryItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.AdxpCounty} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected AdxpCountyItemProvider adxpCountyItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.AdxpCounty}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createAdxpCountyAdapter() {
		if (adxpCountyItemProvider == null) {
			adxpCountyItemProvider = new AdxpCountyItemProvider(this);
		}

		return adxpCountyItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.AdxpDelimiter} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected AdxpDelimiterItemProvider adxpDelimiterItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.AdxpDelimiter}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createAdxpDelimiterAdapter() {
		if (adxpDelimiterItemProvider == null) {
			adxpDelimiterItemProvider = new AdxpDelimiterItemProvider(this);
		}

		return adxpDelimiterItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.AdxpDeliveryAddressLine} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected AdxpDeliveryAddressLineItemProvider adxpDeliveryAddressLineItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.AdxpDeliveryAddressLine}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createAdxpDeliveryAddressLineAdapter() {
		if (adxpDeliveryAddressLineItemProvider == null) {
			adxpDeliveryAddressLineItemProvider = new AdxpDeliveryAddressLineItemProvider(this);
		}

		return adxpDeliveryAddressLineItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.AdxpDeliveryInstallationArea} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected AdxpDeliveryInstallationAreaItemProvider adxpDeliveryInstallationAreaItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.AdxpDeliveryInstallationArea}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createAdxpDeliveryInstallationAreaAdapter() {
		if (adxpDeliveryInstallationAreaItemProvider == null) {
			adxpDeliveryInstallationAreaItemProvider = new AdxpDeliveryInstallationAreaItemProvider(this);
		}

		return adxpDeliveryInstallationAreaItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.AdxpDeliveryInstallationQualifier} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected AdxpDeliveryInstallationQualifierItemProvider adxpDeliveryInstallationQualifierItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.AdxpDeliveryInstallationQualifier}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createAdxpDeliveryInstallationQualifierAdapter() {
		if (adxpDeliveryInstallationQualifierItemProvider == null) {
			adxpDeliveryInstallationQualifierItemProvider = new AdxpDeliveryInstallationQualifierItemProvider(this);
		}

		return adxpDeliveryInstallationQualifierItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.AdxpDeliveryInstallationType} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected AdxpDeliveryInstallationTypeItemProvider adxpDeliveryInstallationTypeItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.AdxpDeliveryInstallationType}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createAdxpDeliveryInstallationTypeAdapter() {
		if (adxpDeliveryInstallationTypeItemProvider == null) {
			adxpDeliveryInstallationTypeItemProvider = new AdxpDeliveryInstallationTypeItemProvider(this);
		}

		return adxpDeliveryInstallationTypeItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.AdxpDeliveryMode} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected AdxpDeliveryModeItemProvider adxpDeliveryModeItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.AdxpDeliveryMode}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createAdxpDeliveryModeAdapter() {
		if (adxpDeliveryModeItemProvider == null) {
			adxpDeliveryModeItemProvider = new AdxpDeliveryModeItemProvider(this);
		}

		return adxpDeliveryModeItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.AdxpDeliveryModeIdentifier} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected AdxpDeliveryModeIdentifierItemProvider adxpDeliveryModeIdentifierItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.AdxpDeliveryModeIdentifier}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createAdxpDeliveryModeIdentifierAdapter() {
		if (adxpDeliveryModeIdentifierItemProvider == null) {
			adxpDeliveryModeIdentifierItemProvider = new AdxpDeliveryModeIdentifierItemProvider(this);
		}

		return adxpDeliveryModeIdentifierItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.AdxpDirection} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected AdxpDirectionItemProvider adxpDirectionItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.AdxpDirection}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createAdxpDirectionAdapter() {
		if (adxpDirectionItemProvider == null) {
			adxpDirectionItemProvider = new AdxpDirectionItemProvider(this);
		}

		return adxpDirectionItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.AdxpHouseNumber} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected AdxpHouseNumberItemProvider adxpHouseNumberItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.AdxpHouseNumber}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createAdxpHouseNumberAdapter() {
		if (adxpHouseNumberItemProvider == null) {
			adxpHouseNumberItemProvider = new AdxpHouseNumberItemProvider(this);
		}

		return adxpHouseNumberItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.AdxpHouseNumberNumeric} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected AdxpHouseNumberNumericItemProvider adxpHouseNumberNumericItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.AdxpHouseNumberNumeric}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createAdxpHouseNumberNumericAdapter() {
		if (adxpHouseNumberNumericItemProvider == null) {
			adxpHouseNumberNumericItemProvider = new AdxpHouseNumberNumericItemProvider(this);
		}

		return adxpHouseNumberNumericItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.AdxpPostalCode} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected AdxpPostalCodeItemProvider adxpPostalCodeItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.AdxpPostalCode}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createAdxpPostalCodeAdapter() {
		if (adxpPostalCodeItemProvider == null) {
			adxpPostalCodeItemProvider = new AdxpPostalCodeItemProvider(this);
		}

		return adxpPostalCodeItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.AdxpPostBox} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected AdxpPostBoxItemProvider adxpPostBoxItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.AdxpPostBox}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createAdxpPostBoxAdapter() {
		if (adxpPostBoxItemProvider == null) {
			adxpPostBoxItemProvider = new AdxpPostBoxItemProvider(this);
		}

		return adxpPostBoxItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.AdxpPrecinct} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected AdxpPrecinctItemProvider adxpPrecinctItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.AdxpPrecinct}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createAdxpPrecinctAdapter() {
		if (adxpPrecinctItemProvider == null) {
			adxpPrecinctItemProvider = new AdxpPrecinctItemProvider(this);
		}

		return adxpPrecinctItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.AdxpState} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected AdxpStateItemProvider adxpStateItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.AdxpState}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createAdxpStateAdapter() {
		if (adxpStateItemProvider == null) {
			adxpStateItemProvider = new AdxpStateItemProvider(this);
		}

		return adxpStateItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.AdxpStreetAddressLine} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected AdxpStreetAddressLineItemProvider adxpStreetAddressLineItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.AdxpStreetAddressLine}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createAdxpStreetAddressLineAdapter() {
		if (adxpStreetAddressLineItemProvider == null) {
			adxpStreetAddressLineItemProvider = new AdxpStreetAddressLineItemProvider(this);
		}

		return adxpStreetAddressLineItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.AdxpStreetName} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected AdxpStreetNameItemProvider adxpStreetNameItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.AdxpStreetName}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createAdxpStreetNameAdapter() {
		if (adxpStreetNameItemProvider == null) {
			adxpStreetNameItemProvider = new AdxpStreetNameItemProvider(this);
		}

		return adxpStreetNameItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.AdxpStreetNameBase} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected AdxpStreetNameBaseItemProvider adxpStreetNameBaseItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.AdxpStreetNameBase}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createAdxpStreetNameBaseAdapter() {
		if (adxpStreetNameBaseItemProvider == null) {
			adxpStreetNameBaseItemProvider = new AdxpStreetNameBaseItemProvider(this);
		}

		return adxpStreetNameBaseItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.AdxpStreetNameType} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected AdxpStreetNameTypeItemProvider adxpStreetNameTypeItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.AdxpStreetNameType}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createAdxpStreetNameTypeAdapter() {
		if (adxpStreetNameTypeItemProvider == null) {
			adxpStreetNameTypeItemProvider = new AdxpStreetNameTypeItemProvider(this);
		}

		return adxpStreetNameTypeItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.AdxpUnitID} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected AdxpUnitIDItemProvider adxpUnitIDItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.AdxpUnitID}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createAdxpUnitIDAdapter() {
		if (adxpUnitIDItemProvider == null) {
			adxpUnitIDItemProvider = new AdxpUnitIDItemProvider(this);
		}

		return adxpUnitIDItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.AdxpUnitType} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected AdxpUnitTypeItemProvider adxpUnitTypeItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.AdxpUnitType}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createAdxpUnitTypeAdapter() {
		if (adxpUnitTypeItemProvider == null) {
			adxpUnitTypeItemProvider = new AdxpUnitTypeItemProvider(this);
		}

		return adxpUnitTypeItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.ANYNonNull} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected ANYNonNullItemProvider anyNonNullItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.ANYNonNull}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createANYNonNullAdapter() {
		if (anyNonNullItemProvider == null) {
			anyNonNullItemProvider = new ANYNonNullItemProvider(this);
		}

		return anyNonNullItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.BL1} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected BL1ItemProvider bl1ItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.BL1}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createBL1Adapter() {
		if (bl1ItemProvider == null) {
			bl1ItemProvider = new BL1ItemProvider(this);
		}

		return bl1ItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.BN1} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected BN1ItemProvider bn1ItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.BN1}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createBN1Adapter() {
		if (bn1ItemProvider == null) {
			bn1ItemProvider = new BN1ItemProvider(this);
		}

		return bn1ItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.BXITCD} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected BXITCDItemProvider bxitcdItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.BXITCD}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createBXITCDAdapter() {
		if (bxitcdItemProvider == null) {
			bxitcdItemProvider = new BXITCDItemProvider(this);
		}

		return bxitcdItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.BXITIVLPQ} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected BXITIVLPQItemProvider bxitivlpqItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.BXITIVLPQ}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createBXITIVLPQAdapter() {
		if (bxitivlpqItemProvider == null) {
			bxitivlpqItemProvider = new BXITIVLPQItemProvider(this);
		}

		return bxitivlpqItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.CD} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected CDItemProvider cdItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.CD}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createCDAdapter() {
		if (cdItemProvider == null) {
			cdItemProvider = new CDItemProvider(this);
		}

		return cdItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.CE} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected CEItemProvider ceItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.CE}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createCEAdapter() {
		if (ceItemProvider == null) {
			ceItemProvider = new CEItemProvider(this);
		}

		return ceItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.CO} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected COItemProvider coItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.CO}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createCOAdapter() {
		if (coItemProvider == null) {
			coItemProvider = new COItemProvider(this);
		}

		return coItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.CR} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected CRItemProvider crItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.CR}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createCRAdapter() {
		if (crItemProvider == null) {
			crItemProvider = new CRItemProvider(this);
		}

		return crItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.CS1} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected CS1ItemProvider cs1ItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.CS1}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createCS1Adapter() {
		if (cs1ItemProvider == null) {
			cs1ItemProvider = new CS1ItemProvider(this);
		}

		return cs1ItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.CV} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected CVItemProvider cvItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.CV}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createCVAdapter() {
		if (cvItemProvider == null) {
			cvItemProvider = new CVItemProvider(this);
		}

		return cvItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.DocumentRoot} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected DocumentRootItemProvider documentRootItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.DocumentRoot}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createDocumentRootAdapter() {
		if (documentRootItemProvider == null) {
			documentRootItemProvider = new DocumentRootItemProvider(this);
		}

		return documentRootItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.ED} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected EDItemProvider edItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.ED}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createEDAdapter() {
		if (edItemProvider == null) {
			edItemProvider = new EDItemProvider(this);
		}

		return edItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.EIVLEvent} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected EIVLEventItemProvider eivlEventItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.EIVLEvent}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createEIVLEventAdapter() {
		if (eivlEventItemProvider == null) {
			eivlEventItemProvider = new EIVLEventItemProvider(this);
		}

		return eivlEventItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.EIVLPPDTS} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected EIVLPPDTSItemProvider eivlppdtsItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.EIVLPPDTS}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createEIVLPPDTSAdapter() {
		if (eivlppdtsItemProvider == null) {
			eivlppdtsItemProvider = new EIVLPPDTSItemProvider(this);
		}

		return eivlppdtsItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.EIVLTS} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected EIVLTSItemProvider eivltsItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.EIVLTS}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createEIVLTSAdapter() {
		if (eivltsItemProvider == null) {
			eivltsItemProvider = new EIVLTSItemProvider(this);
		}

		return eivltsItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.EN} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected ENItemProvider enItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.EN}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createENAdapter() {
		if (enItemProvider == null) {
			enItemProvider = new ENItemProvider(this);
		}

		return enItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.EnDelimiter} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected EnDelimiterItemProvider enDelimiterItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.EnDelimiter}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createEnDelimiterAdapter() {
		if (enDelimiterItemProvider == null) {
			enDelimiterItemProvider = new EnDelimiterItemProvider(this);
		}

		return enDelimiterItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.EnFamily} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected EnFamilyItemProvider enFamilyItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.EnFamily}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createEnFamilyAdapter() {
		if (enFamilyItemProvider == null) {
			enFamilyItemProvider = new EnFamilyItemProvider(this);
		}

		return enFamilyItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.EnGiven} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected EnGivenItemProvider enGivenItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.EnGiven}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createEnGivenAdapter() {
		if (enGivenItemProvider == null) {
			enGivenItemProvider = new EnGivenItemProvider(this);
		}

		return enGivenItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.EnPrefix} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected EnPrefixItemProvider enPrefixItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.EnPrefix}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createEnPrefixAdapter() {
		if (enPrefixItemProvider == null) {
			enPrefixItemProvider = new EnPrefixItemProvider(this);
		}

		return enPrefixItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.EnSuffix} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected EnSuffixItemProvider enSuffixItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.EnSuffix}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createEnSuffixAdapter() {
		if (enSuffixItemProvider == null) {
			enSuffixItemProvider = new EnSuffixItemProvider(this);
		}

		return enSuffixItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.ENXP} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected ENXPItemProvider enxpItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.ENXP}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createENXPAdapter() {
		if (enxpItemProvider == null) {
			enxpItemProvider = new ENXPItemProvider(this);
		}

		return enxpItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.GLISTPQ} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected GLISTPQItemProvider glistpqItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.GLISTPQ}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createGLISTPQAdapter() {
		if (glistpqItemProvider == null) {
			glistpqItemProvider = new GLISTPQItemProvider(this);
		}

		return glistpqItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.GLISTTS} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected GLISTTSItemProvider glisttsItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.GLISTTS}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createGLISTTSAdapter() {
		if (glisttsItemProvider == null) {
			glisttsItemProvider = new GLISTTSItemProvider(this);
		}

		return glisttsItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.HXITCE} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected HXITCEItemProvider hxitceItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.HXITCE}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createHXITCEAdapter() {
		if (hxitceItemProvider == null) {
			hxitceItemProvider = new HXITCEItemProvider(this);
		}

		return hxitceItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.HXITPQ} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected HXITPQItemProvider hxitpqItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.HXITPQ}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createHXITPQAdapter() {
		if (hxitpqItemProvider == null) {
			hxitpqItemProvider = new HXITPQItemProvider(this);
		}

		return hxitpqItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.II} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected IIItemProvider iiItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.II}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createIIAdapter() {
		if (iiItemProvider == null) {
			iiItemProvider = new IIItemProvider(this);
		}

		return iiItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.INT1} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected INT1ItemProvider int1ItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.INT1}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createINT1Adapter() {
		if (int1ItemProvider == null) {
			int1ItemProvider = new INT1ItemProvider(this);
		}

		return int1ItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.IVLINT} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected IVLINTItemProvider ivlintItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.IVLINT}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createIVLINTAdapter() {
		if (ivlintItemProvider == null) {
			ivlintItemProvider = new IVLINTItemProvider(this);
		}

		return ivlintItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.IVLMO} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected IVLMOItemProvider ivlmoItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.IVLMO}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createIVLMOAdapter() {
		if (ivlmoItemProvider == null) {
			ivlmoItemProvider = new IVLMOItemProvider(this);
		}

		return ivlmoItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.IVLPPDPQ} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected IVLPPDPQItemProvider ivlppdpqItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.IVLPPDPQ}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createIVLPPDPQAdapter() {
		if (ivlppdpqItemProvider == null) {
			ivlppdpqItemProvider = new IVLPPDPQItemProvider(this);
		}

		return ivlppdpqItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.IVLPPDTS} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected IVLPPDTSItemProvider ivlppdtsItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.IVLPPDTS}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createIVLPPDTSAdapter() {
		if (ivlppdtsItemProvider == null) {
			ivlppdtsItemProvider = new IVLPPDTSItemProvider(this);
		}

		return ivlppdtsItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.IVLPQ} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected IVLPQItemProvider ivlpqItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.IVLPQ}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createIVLPQAdapter() {
		if (ivlpqItemProvider == null) {
			ivlpqItemProvider = new IVLPQItemProvider(this);
		}

		return ivlpqItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.IVLREAL} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected IVLREALItemProvider ivlrealItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.IVLREAL}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createIVLREALAdapter() {
		if (ivlrealItemProvider == null) {
			ivlrealItemProvider = new IVLREALItemProvider(this);
		}

		return ivlrealItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.IVLTS} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected IVLTSItemProvider ivltsItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.IVLTS}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createIVLTSAdapter() {
		if (ivltsItemProvider == null) {
			ivltsItemProvider = new IVLTSItemProvider(this);
		}

		return ivltsItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.IVXBINT} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected IVXBINTItemProvider ivxbintItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.IVXBINT}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createIVXBINTAdapter() {
		if (ivxbintItemProvider == null) {
			ivxbintItemProvider = new IVXBINTItemProvider(this);
		}

		return ivxbintItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.IVXBMO} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected IVXBMOItemProvider ivxbmoItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.IVXBMO}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createIVXBMOAdapter() {
		if (ivxbmoItemProvider == null) {
			ivxbmoItemProvider = new IVXBMOItemProvider(this);
		}

		return ivxbmoItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.IVXBPPDPQ} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected IVXBPPDPQItemProvider ivxbppdpqItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.IVXBPPDPQ}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createIVXBPPDPQAdapter() {
		if (ivxbppdpqItemProvider == null) {
			ivxbppdpqItemProvider = new IVXBPPDPQItemProvider(this);
		}

		return ivxbppdpqItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.IVXBPPDTS} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected IVXBPPDTSItemProvider ivxbppdtsItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.IVXBPPDTS}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createIVXBPPDTSAdapter() {
		if (ivxbppdtsItemProvider == null) {
			ivxbppdtsItemProvider = new IVXBPPDTSItemProvider(this);
		}

		return ivxbppdtsItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.IVXBPQ} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected IVXBPQItemProvider ivxbpqItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.IVXBPQ}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createIVXBPQAdapter() {
		if (ivxbpqItemProvider == null) {
			ivxbpqItemProvider = new IVXBPQItemProvider(this);
		}

		return ivxbpqItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.IVXBREAL} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected IVXBREALItemProvider ivxbrealItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.IVXBREAL}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createIVXBREALAdapter() {
		if (ivxbrealItemProvider == null) {
			ivxbrealItemProvider = new IVXBREALItemProvider(this);
		}

		return ivxbrealItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.IVXBTS} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected IVXBTSItemProvider ivxbtsItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.IVXBTS}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createIVXBTSAdapter() {
		if (ivxbtsItemProvider == null) {
			ivxbtsItemProvider = new IVXBTSItemProvider(this);
		}

		return ivxbtsItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.MO} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected MOItemProvider moItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.MO}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createMOAdapter() {
		if (moItemProvider == null) {
			moItemProvider = new MOItemProvider(this);
		}

		return moItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.ON} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected ONItemProvider onItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.ON}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createONAdapter() {
		if (onItemProvider == null) {
			onItemProvider = new ONItemProvider(this);
		}

		return onItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.PIVLPPDTS} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected PIVLPPDTSItemProvider pivlppdtsItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.PIVLPPDTS}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPIVLPPDTSAdapter() {
		if (pivlppdtsItemProvider == null) {
			pivlppdtsItemProvider = new PIVLPPDTSItemProvider(this);
		}

		return pivlppdtsItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.PIVLTS} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected PIVLTSItemProvider pivltsItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.PIVLTS}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPIVLTSAdapter() {
		if (pivltsItemProvider == null) {
			pivltsItemProvider = new PIVLTSItemProvider(this);
		}

		return pivltsItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.PN} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected PNItemProvider pnItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.PN}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPNAdapter() {
		if (pnItemProvider == null) {
			pnItemProvider = new PNItemProvider(this);
		}

		return pnItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Act} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040ActItemProvider pocdmt000040ActItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Act}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040ActAdapter() {
		if (pocdmt000040ActItemProvider == null) {
			pocdmt000040ActItemProvider = new POCDMT000040ActItemProvider(this);
		}

		return pocdmt000040ActItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040AssignedAuthor} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040AssignedAuthorItemProvider pocdmt000040AssignedAuthorItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040AssignedAuthor}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040AssignedAuthorAdapter() {
		if (pocdmt000040AssignedAuthorItemProvider == null) {
			pocdmt000040AssignedAuthorItemProvider = new POCDMT000040AssignedAuthorItemProvider(this);
		}

		return pocdmt000040AssignedAuthorItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040AssignedCustodian} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040AssignedCustodianItemProvider pocdmt000040AssignedCustodianItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040AssignedCustodian}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040AssignedCustodianAdapter() {
		if (pocdmt000040AssignedCustodianItemProvider == null) {
			pocdmt000040AssignedCustodianItemProvider = new POCDMT000040AssignedCustodianItemProvider(this);
		}

		return pocdmt000040AssignedCustodianItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040AssignedEntity} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040AssignedEntityItemProvider pocdmt000040AssignedEntityItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040AssignedEntity}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040AssignedEntityAdapter() {
		if (pocdmt000040AssignedEntityItemProvider == null) {
			pocdmt000040AssignedEntityItemProvider = new POCDMT000040AssignedEntityItemProvider(this);
		}

		return pocdmt000040AssignedEntityItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040AssociatedEntity} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040AssociatedEntityItemProvider pocdmt000040AssociatedEntityItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040AssociatedEntity}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040AssociatedEntityAdapter() {
		if (pocdmt000040AssociatedEntityItemProvider == null) {
			pocdmt000040AssociatedEntityItemProvider = new POCDMT000040AssociatedEntityItemProvider(this);
		}

		return pocdmt000040AssociatedEntityItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Authenticator} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040AuthenticatorItemProvider pocdmt000040AuthenticatorItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Authenticator}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040AuthenticatorAdapter() {
		if (pocdmt000040AuthenticatorItemProvider == null) {
			pocdmt000040AuthenticatorItemProvider = new POCDMT000040AuthenticatorItemProvider(this);
		}

		return pocdmt000040AuthenticatorItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Author} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040AuthorItemProvider pocdmt000040AuthorItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Author}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040AuthorAdapter() {
		if (pocdmt000040AuthorItemProvider == null) {
			pocdmt000040AuthorItemProvider = new POCDMT000040AuthorItemProvider(this);
		}

		return pocdmt000040AuthorItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040AuthoringDevice} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040AuthoringDeviceItemProvider pocdmt000040AuthoringDeviceItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040AuthoringDevice}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040AuthoringDeviceAdapter() {
		if (pocdmt000040AuthoringDeviceItemProvider == null) {
			pocdmt000040AuthoringDeviceItemProvider = new POCDMT000040AuthoringDeviceItemProvider(this);
		}

		return pocdmt000040AuthoringDeviceItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Authorization} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040AuthorizationItemProvider pocdmt000040AuthorizationItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Authorization}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040AuthorizationAdapter() {
		if (pocdmt000040AuthorizationItemProvider == null) {
			pocdmt000040AuthorizationItemProvider = new POCDMT000040AuthorizationItemProvider(this);
		}

		return pocdmt000040AuthorizationItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Birthplace} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040BirthplaceItemProvider pocdmt000040BirthplaceItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Birthplace}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040BirthplaceAdapter() {
		if (pocdmt000040BirthplaceItemProvider == null) {
			pocdmt000040BirthplaceItemProvider = new POCDMT000040BirthplaceItemProvider(this);
		}

		return pocdmt000040BirthplaceItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040ClinicalDocument} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040ClinicalDocumentItemProvider pocdmt000040ClinicalDocumentItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040ClinicalDocument}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040ClinicalDocumentAdapter() {
		if (pocdmt000040ClinicalDocumentItemProvider == null) {
			pocdmt000040ClinicalDocumentItemProvider = new POCDMT000040ClinicalDocumentItemProvider(this);
		}

		return pocdmt000040ClinicalDocumentItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Component1} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040Component1ItemProvider pocdmt000040Component1ItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Component1}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040Component1Adapter() {
		if (pocdmt000040Component1ItemProvider == null) {
			pocdmt000040Component1ItemProvider = new POCDMT000040Component1ItemProvider(this);
		}

		return pocdmt000040Component1ItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Component2} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040Component2ItemProvider pocdmt000040Component2ItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Component2}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040Component2Adapter() {
		if (pocdmt000040Component2ItemProvider == null) {
			pocdmt000040Component2ItemProvider = new POCDMT000040Component2ItemProvider(this);
		}

		return pocdmt000040Component2ItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Component3} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040Component3ItemProvider pocdmt000040Component3ItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Component3}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040Component3Adapter() {
		if (pocdmt000040Component3ItemProvider == null) {
			pocdmt000040Component3ItemProvider = new POCDMT000040Component3ItemProvider(this);
		}

		return pocdmt000040Component3ItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Component4} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040Component4ItemProvider pocdmt000040Component4ItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Component4}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040Component4Adapter() {
		if (pocdmt000040Component4ItemProvider == null) {
			pocdmt000040Component4ItemProvider = new POCDMT000040Component4ItemProvider(this);
		}

		return pocdmt000040Component4ItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Component5} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040Component5ItemProvider pocdmt000040Component5ItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Component5}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040Component5Adapter() {
		if (pocdmt000040Component5ItemProvider == null) {
			pocdmt000040Component5ItemProvider = new POCDMT000040Component5ItemProvider(this);
		}

		return pocdmt000040Component5ItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Consent} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040ConsentItemProvider pocdmt000040ConsentItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Consent}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040ConsentAdapter() {
		if (pocdmt000040ConsentItemProvider == null) {
			pocdmt000040ConsentItemProvider = new POCDMT000040ConsentItemProvider(this);
		}

		return pocdmt000040ConsentItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Consumable} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040ConsumableItemProvider pocdmt000040ConsumableItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Consumable}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040ConsumableAdapter() {
		if (pocdmt000040ConsumableItemProvider == null) {
			pocdmt000040ConsumableItemProvider = new POCDMT000040ConsumableItemProvider(this);
		}

		return pocdmt000040ConsumableItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Criterion} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040CriterionItemProvider pocdmt000040CriterionItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Criterion}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040CriterionAdapter() {
		if (pocdmt000040CriterionItemProvider == null) {
			pocdmt000040CriterionItemProvider = new POCDMT000040CriterionItemProvider(this);
		}

		return pocdmt000040CriterionItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Custodian} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040CustodianItemProvider pocdmt000040CustodianItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Custodian}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040CustodianAdapter() {
		if (pocdmt000040CustodianItemProvider == null) {
			pocdmt000040CustodianItemProvider = new POCDMT000040CustodianItemProvider(this);
		}

		return pocdmt000040CustodianItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040CustodianOrganization} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040CustodianOrganizationItemProvider pocdmt000040CustodianOrganizationItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040CustodianOrganization}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040CustodianOrganizationAdapter() {
		if (pocdmt000040CustodianOrganizationItemProvider == null) {
			pocdmt000040CustodianOrganizationItemProvider = new POCDMT000040CustodianOrganizationItemProvider(this);
		}

		return pocdmt000040CustodianOrganizationItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040DataEnterer} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040DataEntererItemProvider pocdmt000040DataEntererItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040DataEnterer}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040DataEntererAdapter() {
		if (pocdmt000040DataEntererItemProvider == null) {
			pocdmt000040DataEntererItemProvider = new POCDMT000040DataEntererItemProvider(this);
		}

		return pocdmt000040DataEntererItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Device} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040DeviceItemProvider pocdmt000040DeviceItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Device}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040DeviceAdapter() {
		if (pocdmt000040DeviceItemProvider == null) {
			pocdmt000040DeviceItemProvider = new POCDMT000040DeviceItemProvider(this);
		}

		return pocdmt000040DeviceItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040DocumentationOf} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040DocumentationOfItemProvider pocdmt000040DocumentationOfItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040DocumentationOf}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040DocumentationOfAdapter() {
		if (pocdmt000040DocumentationOfItemProvider == null) {
			pocdmt000040DocumentationOfItemProvider = new POCDMT000040DocumentationOfItemProvider(this);
		}

		return pocdmt000040DocumentationOfItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040EncompassingEncounter} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040EncompassingEncounterItemProvider pocdmt000040EncompassingEncounterItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040EncompassingEncounter}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040EncompassingEncounterAdapter() {
		if (pocdmt000040EncompassingEncounterItemProvider == null) {
			pocdmt000040EncompassingEncounterItemProvider = new POCDMT000040EncompassingEncounterItemProvider(this);
		}

		return pocdmt000040EncompassingEncounterItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Encounter} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040EncounterItemProvider pocdmt000040EncounterItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Encounter}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040EncounterAdapter() {
		if (pocdmt000040EncounterItemProvider == null) {
			pocdmt000040EncounterItemProvider = new POCDMT000040EncounterItemProvider(this);
		}

		return pocdmt000040EncounterItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040EncounterParticipant} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040EncounterParticipantItemProvider pocdmt000040EncounterParticipantItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040EncounterParticipant}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040EncounterParticipantAdapter() {
		if (pocdmt000040EncounterParticipantItemProvider == null) {
			pocdmt000040EncounterParticipantItemProvider = new POCDMT000040EncounterParticipantItemProvider(this);
		}

		return pocdmt000040EncounterParticipantItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Entity} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040EntityItemProvider pocdmt000040EntityItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Entity}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040EntityAdapter() {
		if (pocdmt000040EntityItemProvider == null) {
			pocdmt000040EntityItemProvider = new POCDMT000040EntityItemProvider(this);
		}

		return pocdmt000040EntityItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Entry} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040EntryItemProvider pocdmt000040EntryItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Entry}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040EntryAdapter() {
		if (pocdmt000040EntryItemProvider == null) {
			pocdmt000040EntryItemProvider = new POCDMT000040EntryItemProvider(this);
		}

		return pocdmt000040EntryItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040EntryRelationship} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040EntryRelationshipItemProvider pocdmt000040EntryRelationshipItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040EntryRelationship}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040EntryRelationshipAdapter() {
		if (pocdmt000040EntryRelationshipItemProvider == null) {
			pocdmt000040EntryRelationshipItemProvider = new POCDMT000040EntryRelationshipItemProvider(this);
		}

		return pocdmt000040EntryRelationshipItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040ExternalAct} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040ExternalActItemProvider pocdmt000040ExternalActItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040ExternalAct}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040ExternalActAdapter() {
		if (pocdmt000040ExternalActItemProvider == null) {
			pocdmt000040ExternalActItemProvider = new POCDMT000040ExternalActItemProvider(this);
		}

		return pocdmt000040ExternalActItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040ExternalDocument} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040ExternalDocumentItemProvider pocdmt000040ExternalDocumentItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040ExternalDocument}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040ExternalDocumentAdapter() {
		if (pocdmt000040ExternalDocumentItemProvider == null) {
			pocdmt000040ExternalDocumentItemProvider = new POCDMT000040ExternalDocumentItemProvider(this);
		}

		return pocdmt000040ExternalDocumentItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040ExternalObservation} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040ExternalObservationItemProvider pocdmt000040ExternalObservationItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040ExternalObservation}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040ExternalObservationAdapter() {
		if (pocdmt000040ExternalObservationItemProvider == null) {
			pocdmt000040ExternalObservationItemProvider = new POCDMT000040ExternalObservationItemProvider(this);
		}

		return pocdmt000040ExternalObservationItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040ExternalProcedure} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040ExternalProcedureItemProvider pocdmt000040ExternalProcedureItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040ExternalProcedure}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040ExternalProcedureAdapter() {
		if (pocdmt000040ExternalProcedureItemProvider == null) {
			pocdmt000040ExternalProcedureItemProvider = new POCDMT000040ExternalProcedureItemProvider(this);
		}

		return pocdmt000040ExternalProcedureItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Guardian} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040GuardianItemProvider pocdmt000040GuardianItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Guardian}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040GuardianAdapter() {
		if (pocdmt000040GuardianItemProvider == null) {
			pocdmt000040GuardianItemProvider = new POCDMT000040GuardianItemProvider(this);
		}

		return pocdmt000040GuardianItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040HealthCareFacility} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040HealthCareFacilityItemProvider pocdmt000040HealthCareFacilityItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040HealthCareFacility}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040HealthCareFacilityAdapter() {
		if (pocdmt000040HealthCareFacilityItemProvider == null) {
			pocdmt000040HealthCareFacilityItemProvider = new POCDMT000040HealthCareFacilityItemProvider(this);
		}

		return pocdmt000040HealthCareFacilityItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Informant12} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040Informant12ItemProvider pocdmt000040Informant12ItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Informant12}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040Informant12Adapter() {
		if (pocdmt000040Informant12ItemProvider == null) {
			pocdmt000040Informant12ItemProvider = new POCDMT000040Informant12ItemProvider(this);
		}

		return pocdmt000040Informant12ItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040InformationRecipient} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040InformationRecipientItemProvider pocdmt000040InformationRecipientItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040InformationRecipient}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040InformationRecipientAdapter() {
		if (pocdmt000040InformationRecipientItemProvider == null) {
			pocdmt000040InformationRecipientItemProvider = new POCDMT000040InformationRecipientItemProvider(this);
		}

		return pocdmt000040InformationRecipientItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040InfrastructureRootTypeId} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040InfrastructureRootTypeIdItemProvider pocdmt000040InfrastructureRootTypeIdItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040InfrastructureRootTypeId}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040InfrastructureRootTypeIdAdapter() {
		if (pocdmt000040InfrastructureRootTypeIdItemProvider == null) {
			pocdmt000040InfrastructureRootTypeIdItemProvider = new POCDMT000040InfrastructureRootTypeIdItemProvider(this);
		}

		return pocdmt000040InfrastructureRootTypeIdItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040InFulfillmentOf} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040InFulfillmentOfItemProvider pocdmt000040InFulfillmentOfItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040InFulfillmentOf}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040InFulfillmentOfAdapter() {
		if (pocdmt000040InFulfillmentOfItemProvider == null) {
			pocdmt000040InFulfillmentOfItemProvider = new POCDMT000040InFulfillmentOfItemProvider(this);
		}

		return pocdmt000040InFulfillmentOfItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040IntendedRecipient} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040IntendedRecipientItemProvider pocdmt000040IntendedRecipientItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040IntendedRecipient}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040IntendedRecipientAdapter() {
		if (pocdmt000040IntendedRecipientItemProvider == null) {
			pocdmt000040IntendedRecipientItemProvider = new POCDMT000040IntendedRecipientItemProvider(this);
		}

		return pocdmt000040IntendedRecipientItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040LabeledDrug} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040LabeledDrugItemProvider pocdmt000040LabeledDrugItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040LabeledDrug}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040LabeledDrugAdapter() {
		if (pocdmt000040LabeledDrugItemProvider == null) {
			pocdmt000040LabeledDrugItemProvider = new POCDMT000040LabeledDrugItemProvider(this);
		}

		return pocdmt000040LabeledDrugItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040LanguageCommunication} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040LanguageCommunicationItemProvider pocdmt000040LanguageCommunicationItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040LanguageCommunication}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040LanguageCommunicationAdapter() {
		if (pocdmt000040LanguageCommunicationItemProvider == null) {
			pocdmt000040LanguageCommunicationItemProvider = new POCDMT000040LanguageCommunicationItemProvider(this);
		}

		return pocdmt000040LanguageCommunicationItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040LegalAuthenticator} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040LegalAuthenticatorItemProvider pocdmt000040LegalAuthenticatorItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040LegalAuthenticator}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040LegalAuthenticatorAdapter() {
		if (pocdmt000040LegalAuthenticatorItemProvider == null) {
			pocdmt000040LegalAuthenticatorItemProvider = new POCDMT000040LegalAuthenticatorItemProvider(this);
		}

		return pocdmt000040LegalAuthenticatorItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Location} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040LocationItemProvider pocdmt000040LocationItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Location}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040LocationAdapter() {
		if (pocdmt000040LocationItemProvider == null) {
			pocdmt000040LocationItemProvider = new POCDMT000040LocationItemProvider(this);
		}

		return pocdmt000040LocationItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040MaintainedEntity} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040MaintainedEntityItemProvider pocdmt000040MaintainedEntityItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040MaintainedEntity}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040MaintainedEntityAdapter() {
		if (pocdmt000040MaintainedEntityItemProvider == null) {
			pocdmt000040MaintainedEntityItemProvider = new POCDMT000040MaintainedEntityItemProvider(this);
		}

		return pocdmt000040MaintainedEntityItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040ManufacturedProduct} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040ManufacturedProductItemProvider pocdmt000040ManufacturedProductItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040ManufacturedProduct}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040ManufacturedProductAdapter() {
		if (pocdmt000040ManufacturedProductItemProvider == null) {
			pocdmt000040ManufacturedProductItemProvider = new POCDMT000040ManufacturedProductItemProvider(this);
		}

		return pocdmt000040ManufacturedProductItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Material} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040MaterialItemProvider pocdmt000040MaterialItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Material}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040MaterialAdapter() {
		if (pocdmt000040MaterialItemProvider == null) {
			pocdmt000040MaterialItemProvider = new POCDMT000040MaterialItemProvider(this);
		}

		return pocdmt000040MaterialItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040NonXMLBody} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040NonXMLBodyItemProvider pocdmt000040NonXMLBodyItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040NonXMLBody}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040NonXMLBodyAdapter() {
		if (pocdmt000040NonXMLBodyItemProvider == null) {
			pocdmt000040NonXMLBodyItemProvider = new POCDMT000040NonXMLBodyItemProvider(this);
		}

		return pocdmt000040NonXMLBodyItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Observation} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040ObservationItemProvider pocdmt000040ObservationItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Observation}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040ObservationAdapter() {
		if (pocdmt000040ObservationItemProvider == null) {
			pocdmt000040ObservationItemProvider = new POCDMT000040ObservationItemProvider(this);
		}

		return pocdmt000040ObservationItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040ObservationMedia} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040ObservationMediaItemProvider pocdmt000040ObservationMediaItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040ObservationMedia}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040ObservationMediaAdapter() {
		if (pocdmt000040ObservationMediaItemProvider == null) {
			pocdmt000040ObservationMediaItemProvider = new POCDMT000040ObservationMediaItemProvider(this);
		}

		return pocdmt000040ObservationMediaItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040ObservationRange} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040ObservationRangeItemProvider pocdmt000040ObservationRangeItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040ObservationRange}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040ObservationRangeAdapter() {
		if (pocdmt000040ObservationRangeItemProvider == null) {
			pocdmt000040ObservationRangeItemProvider = new POCDMT000040ObservationRangeItemProvider(this);
		}

		return pocdmt000040ObservationRangeItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Order} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040OrderItemProvider pocdmt000040OrderItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Order}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040OrderAdapter() {
		if (pocdmt000040OrderItemProvider == null) {
			pocdmt000040OrderItemProvider = new POCDMT000040OrderItemProvider(this);
		}

		return pocdmt000040OrderItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Organization} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040OrganizationItemProvider pocdmt000040OrganizationItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Organization}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040OrganizationAdapter() {
		if (pocdmt000040OrganizationItemProvider == null) {
			pocdmt000040OrganizationItemProvider = new POCDMT000040OrganizationItemProvider(this);
		}

		return pocdmt000040OrganizationItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040OrganizationPartOf} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040OrganizationPartOfItemProvider pocdmt000040OrganizationPartOfItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040OrganizationPartOf}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040OrganizationPartOfAdapter() {
		if (pocdmt000040OrganizationPartOfItemProvider == null) {
			pocdmt000040OrganizationPartOfItemProvider = new POCDMT000040OrganizationPartOfItemProvider(this);
		}

		return pocdmt000040OrganizationPartOfItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Organizer} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040OrganizerItemProvider pocdmt000040OrganizerItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Organizer}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040OrganizerAdapter() {
		if (pocdmt000040OrganizerItemProvider == null) {
			pocdmt000040OrganizerItemProvider = new POCDMT000040OrganizerItemProvider(this);
		}

		return pocdmt000040OrganizerItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040ParentDocument} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040ParentDocumentItemProvider pocdmt000040ParentDocumentItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040ParentDocument}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040ParentDocumentAdapter() {
		if (pocdmt000040ParentDocumentItemProvider == null) {
			pocdmt000040ParentDocumentItemProvider = new POCDMT000040ParentDocumentItemProvider(this);
		}

		return pocdmt000040ParentDocumentItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Participant1} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040Participant1ItemProvider pocdmt000040Participant1ItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Participant1}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040Participant1Adapter() {
		if (pocdmt000040Participant1ItemProvider == null) {
			pocdmt000040Participant1ItemProvider = new POCDMT000040Participant1ItemProvider(this);
		}

		return pocdmt000040Participant1ItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Participant2} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040Participant2ItemProvider pocdmt000040Participant2ItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Participant2}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040Participant2Adapter() {
		if (pocdmt000040Participant2ItemProvider == null) {
			pocdmt000040Participant2ItemProvider = new POCDMT000040Participant2ItemProvider(this);
		}

		return pocdmt000040Participant2ItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040ParticipantRole} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040ParticipantRoleItemProvider pocdmt000040ParticipantRoleItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040ParticipantRole}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040ParticipantRoleAdapter() {
		if (pocdmt000040ParticipantRoleItemProvider == null) {
			pocdmt000040ParticipantRoleItemProvider = new POCDMT000040ParticipantRoleItemProvider(this);
		}

		return pocdmt000040ParticipantRoleItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Patient} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040PatientItemProvider pocdmt000040PatientItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Patient}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040PatientAdapter() {
		if (pocdmt000040PatientItemProvider == null) {
			pocdmt000040PatientItemProvider = new POCDMT000040PatientItemProvider(this);
		}

		return pocdmt000040PatientItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040PatientRole} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040PatientRoleItemProvider pocdmt000040PatientRoleItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040PatientRole}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040PatientRoleAdapter() {
		if (pocdmt000040PatientRoleItemProvider == null) {
			pocdmt000040PatientRoleItemProvider = new POCDMT000040PatientRoleItemProvider(this);
		}

		return pocdmt000040PatientRoleItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Performer1} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040Performer1ItemProvider pocdmt000040Performer1ItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Performer1}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040Performer1Adapter() {
		if (pocdmt000040Performer1ItemProvider == null) {
			pocdmt000040Performer1ItemProvider = new POCDMT000040Performer1ItemProvider(this);
		}

		return pocdmt000040Performer1ItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Performer2} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040Performer2ItemProvider pocdmt000040Performer2ItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Performer2}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040Performer2Adapter() {
		if (pocdmt000040Performer2ItemProvider == null) {
			pocdmt000040Performer2ItemProvider = new POCDMT000040Performer2ItemProvider(this);
		}

		return pocdmt000040Performer2ItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Person} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040PersonItemProvider pocdmt000040PersonItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Person}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040PersonAdapter() {
		if (pocdmt000040PersonItemProvider == null) {
			pocdmt000040PersonItemProvider = new POCDMT000040PersonItemProvider(this);
		}

		return pocdmt000040PersonItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Place} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040PlaceItemProvider pocdmt000040PlaceItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Place}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040PlaceAdapter() {
		if (pocdmt000040PlaceItemProvider == null) {
			pocdmt000040PlaceItemProvider = new POCDMT000040PlaceItemProvider(this);
		}

		return pocdmt000040PlaceItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040PlayingEntity} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040PlayingEntityItemProvider pocdmt000040PlayingEntityItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040PlayingEntity}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040PlayingEntityAdapter() {
		if (pocdmt000040PlayingEntityItemProvider == null) {
			pocdmt000040PlayingEntityItemProvider = new POCDMT000040PlayingEntityItemProvider(this);
		}

		return pocdmt000040PlayingEntityItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Precondition} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040PreconditionItemProvider pocdmt000040PreconditionItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Precondition}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040PreconditionAdapter() {
		if (pocdmt000040PreconditionItemProvider == null) {
			pocdmt000040PreconditionItemProvider = new POCDMT000040PreconditionItemProvider(this);
		}

		return pocdmt000040PreconditionItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Procedure} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040ProcedureItemProvider pocdmt000040ProcedureItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Procedure}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040ProcedureAdapter() {
		if (pocdmt000040ProcedureItemProvider == null) {
			pocdmt000040ProcedureItemProvider = new POCDMT000040ProcedureItemProvider(this);
		}

		return pocdmt000040ProcedureItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Product} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040ProductItemProvider pocdmt000040ProductItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Product}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040ProductAdapter() {
		if (pocdmt000040ProductItemProvider == null) {
			pocdmt000040ProductItemProvider = new POCDMT000040ProductItemProvider(this);
		}

		return pocdmt000040ProductItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040RecordTarget} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040RecordTargetItemProvider pocdmt000040RecordTargetItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040RecordTarget}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040RecordTargetAdapter() {
		if (pocdmt000040RecordTargetItemProvider == null) {
			pocdmt000040RecordTargetItemProvider = new POCDMT000040RecordTargetItemProvider(this);
		}

		return pocdmt000040RecordTargetItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Reference} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040ReferenceItemProvider pocdmt000040ReferenceItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Reference}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040ReferenceAdapter() {
		if (pocdmt000040ReferenceItemProvider == null) {
			pocdmt000040ReferenceItemProvider = new POCDMT000040ReferenceItemProvider(this);
		}

		return pocdmt000040ReferenceItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040ReferenceRange} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040ReferenceRangeItemProvider pocdmt000040ReferenceRangeItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040ReferenceRange}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040ReferenceRangeAdapter() {
		if (pocdmt000040ReferenceRangeItemProvider == null) {
			pocdmt000040ReferenceRangeItemProvider = new POCDMT000040ReferenceRangeItemProvider(this);
		}

		return pocdmt000040ReferenceRangeItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040RegionOfInterest} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040RegionOfInterestItemProvider pocdmt000040RegionOfInterestItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040RegionOfInterest}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040RegionOfInterestAdapter() {
		if (pocdmt000040RegionOfInterestItemProvider == null) {
			pocdmt000040RegionOfInterestItemProvider = new POCDMT000040RegionOfInterestItemProvider(this);
		}

		return pocdmt000040RegionOfInterestItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040RegionOfInterestValue} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040RegionOfInterestValueItemProvider pocdmt000040RegionOfInterestValueItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040RegionOfInterestValue}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040RegionOfInterestValueAdapter() {
		if (pocdmt000040RegionOfInterestValueItemProvider == null) {
			pocdmt000040RegionOfInterestValueItemProvider = new POCDMT000040RegionOfInterestValueItemProvider(this);
		}

		return pocdmt000040RegionOfInterestValueItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040RelatedDocument} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040RelatedDocumentItemProvider pocdmt000040RelatedDocumentItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040RelatedDocument}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040RelatedDocumentAdapter() {
		if (pocdmt000040RelatedDocumentItemProvider == null) {
			pocdmt000040RelatedDocumentItemProvider = new POCDMT000040RelatedDocumentItemProvider(this);
		}

		return pocdmt000040RelatedDocumentItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040RelatedEntity} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040RelatedEntityItemProvider pocdmt000040RelatedEntityItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040RelatedEntity}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040RelatedEntityAdapter() {
		if (pocdmt000040RelatedEntityItemProvider == null) {
			pocdmt000040RelatedEntityItemProvider = new POCDMT000040RelatedEntityItemProvider(this);
		}

		return pocdmt000040RelatedEntityItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040RelatedSubject} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040RelatedSubjectItemProvider pocdmt000040RelatedSubjectItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040RelatedSubject}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040RelatedSubjectAdapter() {
		if (pocdmt000040RelatedSubjectItemProvider == null) {
			pocdmt000040RelatedSubjectItemProvider = new POCDMT000040RelatedSubjectItemProvider(this);
		}

		return pocdmt000040RelatedSubjectItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040ResponsibleParty} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040ResponsiblePartyItemProvider pocdmt000040ResponsiblePartyItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040ResponsibleParty}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040ResponsiblePartyAdapter() {
		if (pocdmt000040ResponsiblePartyItemProvider == null) {
			pocdmt000040ResponsiblePartyItemProvider = new POCDMT000040ResponsiblePartyItemProvider(this);
		}

		return pocdmt000040ResponsiblePartyItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Section} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040SectionItemProvider pocdmt000040SectionItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Section}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040SectionAdapter() {
		if (pocdmt000040SectionItemProvider == null) {
			pocdmt000040SectionItemProvider = new POCDMT000040SectionItemProvider(this);
		}

		return pocdmt000040SectionItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040ServiceEvent} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040ServiceEventItemProvider pocdmt000040ServiceEventItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040ServiceEvent}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040ServiceEventAdapter() {
		if (pocdmt000040ServiceEventItemProvider == null) {
			pocdmt000040ServiceEventItemProvider = new POCDMT000040ServiceEventItemProvider(this);
		}

		return pocdmt000040ServiceEventItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Specimen} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040SpecimenItemProvider pocdmt000040SpecimenItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Specimen}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040SpecimenAdapter() {
		if (pocdmt000040SpecimenItemProvider == null) {
			pocdmt000040SpecimenItemProvider = new POCDMT000040SpecimenItemProvider(this);
		}

		return pocdmt000040SpecimenItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040SpecimenRole} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040SpecimenRoleItemProvider pocdmt000040SpecimenRoleItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040SpecimenRole}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040SpecimenRoleAdapter() {
		if (pocdmt000040SpecimenRoleItemProvider == null) {
			pocdmt000040SpecimenRoleItemProvider = new POCDMT000040SpecimenRoleItemProvider(this);
		}

		return pocdmt000040SpecimenRoleItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040StructuredBody} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040StructuredBodyItemProvider pocdmt000040StructuredBodyItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040StructuredBody}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040StructuredBodyAdapter() {
		if (pocdmt000040StructuredBodyItemProvider == null) {
			pocdmt000040StructuredBodyItemProvider = new POCDMT000040StructuredBodyItemProvider(this);
		}

		return pocdmt000040StructuredBodyItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Subject} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040SubjectItemProvider pocdmt000040SubjectItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Subject}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040SubjectAdapter() {
		if (pocdmt000040SubjectItemProvider == null) {
			pocdmt000040SubjectItemProvider = new POCDMT000040SubjectItemProvider(this);
		}

		return pocdmt000040SubjectItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040SubjectPerson} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040SubjectPersonItemProvider pocdmt000040SubjectPersonItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040SubjectPerson}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040SubjectPersonAdapter() {
		if (pocdmt000040SubjectPersonItemProvider == null) {
			pocdmt000040SubjectPersonItemProvider = new POCDMT000040SubjectPersonItemProvider(this);
		}

		return pocdmt000040SubjectPersonItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040SubstanceAdministration} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040SubstanceAdministrationItemProvider pocdmt000040SubstanceAdministrationItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040SubstanceAdministration}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040SubstanceAdministrationAdapter() {
		if (pocdmt000040SubstanceAdministrationItemProvider == null) {
			pocdmt000040SubstanceAdministrationItemProvider = new POCDMT000040SubstanceAdministrationItemProvider(this);
		}

		return pocdmt000040SubstanceAdministrationItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.POCDMT000040Supply} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected POCDMT000040SupplyItemProvider pocdmt000040SupplyItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.POCDMT000040Supply}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPOCDMT000040SupplyAdapter() {
		if (pocdmt000040SupplyItemProvider == null) {
			pocdmt000040SupplyItemProvider = new POCDMT000040SupplyItemProvider(this);
		}

		return pocdmt000040SupplyItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.PPDPQ} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected PPDPQItemProvider ppdpqItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.PPDPQ}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPPDPQAdapter() {
		if (ppdpqItemProvider == null) {
			ppdpqItemProvider = new PPDPQItemProvider(this);
		}

		return ppdpqItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.PPDTS} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected PPDTSItemProvider ppdtsItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.PPDTS}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPPDTSAdapter() {
		if (ppdtsItemProvider == null) {
			ppdtsItemProvider = new PPDTSItemProvider(this);
		}

		return ppdtsItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.PQ} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected PQItemProvider pqItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.PQ}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPQAdapter() {
		if (pqItemProvider == null) {
			pqItemProvider = new PQItemProvider(this);
		}

		return pqItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.PQR} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected PQRItemProvider pqrItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.PQR}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPQRAdapter() {
		if (pqrItemProvider == null) {
			pqrItemProvider = new PQRItemProvider(this);
		}

		return pqrItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.REAL1} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected REAL1ItemProvider real1ItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.REAL1}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createREAL1Adapter() {
		if (real1ItemProvider == null) {
			real1ItemProvider = new REAL1ItemProvider(this);
		}

		return real1ItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.RTO} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected RTOItemProvider rtoItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.RTO}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createRTOAdapter() {
		if (rtoItemProvider == null) {
			rtoItemProvider = new RTOItemProvider(this);
		}

		return rtoItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.RTOMOPQ} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected RTOMOPQItemProvider rtomopqItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.RTOMOPQ}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createRTOMOPQAdapter() {
		if (rtomopqItemProvider == null) {
			rtomopqItemProvider = new RTOMOPQItemProvider(this);
		}

		return rtomopqItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.RTOPQPQ} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected RTOPQPQItemProvider rtopqpqItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.RTOPQPQ}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createRTOPQPQAdapter() {
		if (rtopqpqItemProvider == null) {
			rtopqpqItemProvider = new RTOPQPQItemProvider(this);
		}

		return rtopqpqItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.RTOQTYQTY} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected RTOQTYQTYItemProvider rtoqtyqtyItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.RTOQTYQTY}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createRTOQTYQTYAdapter() {
		if (rtoqtyqtyItemProvider == null) {
			rtoqtyqtyItemProvider = new RTOQTYQTYItemProvider(this);
		}

		return rtoqtyqtyItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.SC} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected SCItemProvider scItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.SC}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createSCAdapter() {
		if (scItemProvider == null) {
			scItemProvider = new SCItemProvider(this);
		}

		return scItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.SLISTPQ} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected SLISTPQItemProvider slistpqItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.SLISTPQ}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createSLISTPQAdapter() {
		if (slistpqItemProvider == null) {
			slistpqItemProvider = new SLISTPQItemProvider(this);
		}

		return slistpqItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.SLISTTS} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected SLISTTSItemProvider slisttsItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.SLISTTS}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createSLISTTSAdapter() {
		if (slisttsItemProvider == null) {
			slisttsItemProvider = new SLISTTSItemProvider(this);
		}

		return slisttsItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.ST1} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected ST1ItemProvider st1ItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.ST1}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createST1Adapter() {
		if (st1ItemProvider == null) {
			st1ItemProvider = new ST1ItemProvider(this);
		}

		return st1ItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.StrucDocBr} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected StrucDocBrItemProvider strucDocBrItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.StrucDocBr}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createStrucDocBrAdapter() {
		if (strucDocBrItemProvider == null) {
			strucDocBrItemProvider = new StrucDocBrItemProvider(this);
		}

		return strucDocBrItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.StrucDocCaption} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected StrucDocCaptionItemProvider strucDocCaptionItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.StrucDocCaption}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createStrucDocCaptionAdapter() {
		if (strucDocCaptionItemProvider == null) {
			strucDocCaptionItemProvider = new StrucDocCaptionItemProvider(this);
		}

		return strucDocCaptionItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.StrucDocCol} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected StrucDocColItemProvider strucDocColItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.StrucDocCol}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createStrucDocColAdapter() {
		if (strucDocColItemProvider == null) {
			strucDocColItemProvider = new StrucDocColItemProvider(this);
		}

		return strucDocColItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.StrucDocColgroup} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected StrucDocColgroupItemProvider strucDocColgroupItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.StrucDocColgroup}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createStrucDocColgroupAdapter() {
		if (strucDocColgroupItemProvider == null) {
			strucDocColgroupItemProvider = new StrucDocColgroupItemProvider(this);
		}

		return strucDocColgroupItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.StrucDocContent} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected StrucDocContentItemProvider strucDocContentItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.StrucDocContent}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createStrucDocContentAdapter() {
		if (strucDocContentItemProvider == null) {
			strucDocContentItemProvider = new StrucDocContentItemProvider(this);
		}

		return strucDocContentItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.StrucDocFootnote} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected StrucDocFootnoteItemProvider strucDocFootnoteItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.StrucDocFootnote}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createStrucDocFootnoteAdapter() {
		if (strucDocFootnoteItemProvider == null) {
			strucDocFootnoteItemProvider = new StrucDocFootnoteItemProvider(this);
		}

		return strucDocFootnoteItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.StrucDocFootnoteRef} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected StrucDocFootnoteRefItemProvider strucDocFootnoteRefItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.StrucDocFootnoteRef}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createStrucDocFootnoteRefAdapter() {
		if (strucDocFootnoteRefItemProvider == null) {
			strucDocFootnoteRefItemProvider = new StrucDocFootnoteRefItemProvider(this);
		}

		return strucDocFootnoteRefItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.StrucDocItem} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected StrucDocItemItemProvider strucDocItemItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.StrucDocItem}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createStrucDocItemAdapter() {
		if (strucDocItemItemProvider == null) {
			strucDocItemItemProvider = new StrucDocItemItemProvider(this);
		}

		return strucDocItemItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.StrucDocLinkHtml} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected StrucDocLinkHtmlItemProvider strucDocLinkHtmlItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.StrucDocLinkHtml}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createStrucDocLinkHtmlAdapter() {
		if (strucDocLinkHtmlItemProvider == null) {
			strucDocLinkHtmlItemProvider = new StrucDocLinkHtmlItemProvider(this);
		}

		return strucDocLinkHtmlItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.StrucDocList} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected StrucDocListItemProvider strucDocListItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.StrucDocList}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createStrucDocListAdapter() {
		if (strucDocListItemProvider == null) {
			strucDocListItemProvider = new StrucDocListItemProvider(this);
		}

		return strucDocListItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.StrucDocParagraph} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected StrucDocParagraphItemProvider strucDocParagraphItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.StrucDocParagraph}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createStrucDocParagraphAdapter() {
		if (strucDocParagraphItemProvider == null) {
			strucDocParagraphItemProvider = new StrucDocParagraphItemProvider(this);
		}

		return strucDocParagraphItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.StrucDocRenderMultiMedia} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected StrucDocRenderMultiMediaItemProvider strucDocRenderMultiMediaItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.StrucDocRenderMultiMedia}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createStrucDocRenderMultiMediaAdapter() {
		if (strucDocRenderMultiMediaItemProvider == null) {
			strucDocRenderMultiMediaItemProvider = new StrucDocRenderMultiMediaItemProvider(this);
		}

		return strucDocRenderMultiMediaItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.StrucDocSub} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected StrucDocSubItemProvider strucDocSubItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.StrucDocSub}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createStrucDocSubAdapter() {
		if (strucDocSubItemProvider == null) {
			strucDocSubItemProvider = new StrucDocSubItemProvider(this);
		}

		return strucDocSubItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.StrucDocSup} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected StrucDocSupItemProvider strucDocSupItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.StrucDocSup}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createStrucDocSupAdapter() {
		if (strucDocSupItemProvider == null) {
			strucDocSupItemProvider = new StrucDocSupItemProvider(this);
		}

		return strucDocSupItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.StrucDocTable} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected StrucDocTableItemProvider strucDocTableItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.StrucDocTable}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createStrucDocTableAdapter() {
		if (strucDocTableItemProvider == null) {
			strucDocTableItemProvider = new StrucDocTableItemProvider(this);
		}

		return strucDocTableItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.StrucDocTbody} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected StrucDocTbodyItemProvider strucDocTbodyItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.StrucDocTbody}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createStrucDocTbodyAdapter() {
		if (strucDocTbodyItemProvider == null) {
			strucDocTbodyItemProvider = new StrucDocTbodyItemProvider(this);
		}

		return strucDocTbodyItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.StrucDocTd} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected StrucDocTdItemProvider strucDocTdItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.StrucDocTd}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createStrucDocTdAdapter() {
		if (strucDocTdItemProvider == null) {
			strucDocTdItemProvider = new StrucDocTdItemProvider(this);
		}

		return strucDocTdItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.StrucDocText} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected StrucDocTextItemProvider strucDocTextItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.StrucDocText}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createStrucDocTextAdapter() {
		if (strucDocTextItemProvider == null) {
			strucDocTextItemProvider = new StrucDocTextItemProvider(this);
		}

		return strucDocTextItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.StrucDocTfoot} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected StrucDocTfootItemProvider strucDocTfootItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.StrucDocTfoot}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createStrucDocTfootAdapter() {
		if (strucDocTfootItemProvider == null) {
			strucDocTfootItemProvider = new StrucDocTfootItemProvider(this);
		}

		return strucDocTfootItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.StrucDocTh} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected StrucDocThItemProvider strucDocThItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.StrucDocTh}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createStrucDocThAdapter() {
		if (strucDocThItemProvider == null) {
			strucDocThItemProvider = new StrucDocThItemProvider(this);
		}

		return strucDocThItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.StrucDocThead} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected StrucDocTheadItemProvider strucDocTheadItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.StrucDocThead}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createStrucDocTheadAdapter() {
		if (strucDocTheadItemProvider == null) {
			strucDocTheadItemProvider = new StrucDocTheadItemProvider(this);
		}

		return strucDocTheadItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.StrucDocTitle} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected StrucDocTitleItemProvider strucDocTitleItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.StrucDocTitle}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createStrucDocTitleAdapter() {
		if (strucDocTitleItemProvider == null) {
			strucDocTitleItemProvider = new StrucDocTitleItemProvider(this);
		}

		return strucDocTitleItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.StrucDocTitleContent} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected StrucDocTitleContentItemProvider strucDocTitleContentItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.StrucDocTitleContent}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createStrucDocTitleContentAdapter() {
		if (strucDocTitleContentItemProvider == null) {
			strucDocTitleContentItemProvider = new StrucDocTitleContentItemProvider(this);
		}

		return strucDocTitleContentItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.StrucDocTitleFootnote} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected StrucDocTitleFootnoteItemProvider strucDocTitleFootnoteItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.StrucDocTitleFootnote}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createStrucDocTitleFootnoteAdapter() {
		if (strucDocTitleFootnoteItemProvider == null) {
			strucDocTitleFootnoteItemProvider = new StrucDocTitleFootnoteItemProvider(this);
		}

		return strucDocTitleFootnoteItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.StrucDocTr} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected StrucDocTrItemProvider strucDocTrItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.StrucDocTr}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createStrucDocTrAdapter() {
		if (strucDocTrItemProvider == null) {
			strucDocTrItemProvider = new StrucDocTrItemProvider(this);
		}

		return strucDocTrItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.SXCMCD} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected SXCMCDItemProvider sxcmcdItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.SXCMCD}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createSXCMCDAdapter() {
		if (sxcmcdItemProvider == null) {
			sxcmcdItemProvider = new SXCMCDItemProvider(this);
		}

		return sxcmcdItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.SXCMINT} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected SXCMINTItemProvider sxcmintItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.SXCMINT}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createSXCMINTAdapter() {
		if (sxcmintItemProvider == null) {
			sxcmintItemProvider = new SXCMINTItemProvider(this);
		}

		return sxcmintItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.SXCMMO} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected SXCMMOItemProvider sxcmmoItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.SXCMMO}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createSXCMMOAdapter() {
		if (sxcmmoItemProvider == null) {
			sxcmmoItemProvider = new SXCMMOItemProvider(this);
		}

		return sxcmmoItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.SXCMPPDPQ} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected SXCMPPDPQItemProvider sxcmppdpqItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.SXCMPPDPQ}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createSXCMPPDPQAdapter() {
		if (sxcmppdpqItemProvider == null) {
			sxcmppdpqItemProvider = new SXCMPPDPQItemProvider(this);
		}

		return sxcmppdpqItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.SXCMPPDTS} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected SXCMPPDTSItemProvider sxcmppdtsItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.SXCMPPDTS}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createSXCMPPDTSAdapter() {
		if (sxcmppdtsItemProvider == null) {
			sxcmppdtsItemProvider = new SXCMPPDTSItemProvider(this);
		}

		return sxcmppdtsItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.SXCMPQ} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected SXCMPQItemProvider sxcmpqItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.SXCMPQ}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createSXCMPQAdapter() {
		if (sxcmpqItemProvider == null) {
			sxcmpqItemProvider = new SXCMPQItemProvider(this);
		}

		return sxcmpqItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.SXCMREAL} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected SXCMREALItemProvider sxcmrealItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.SXCMREAL}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createSXCMREALAdapter() {
		if (sxcmrealItemProvider == null) {
			sxcmrealItemProvider = new SXCMREALItemProvider(this);
		}

		return sxcmrealItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.SXCMTS} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected SXCMTSItemProvider sxcmtsItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.SXCMTS}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createSXCMTSAdapter() {
		if (sxcmtsItemProvider == null) {
			sxcmtsItemProvider = new SXCMTSItemProvider(this);
		}

		return sxcmtsItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.SXPRTS} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected SXPRTSItemProvider sxprtsItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.SXPRTS}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createSXPRTSAdapter() {
		if (sxprtsItemProvider == null) {
			sxprtsItemProvider = new SXPRTSItemProvider(this);
		}

		return sxprtsItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.TEL} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected TELItemProvider telItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.TEL}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createTELAdapter() {
		if (telItemProvider == null) {
			telItemProvider = new TELItemProvider(this);
		}

		return telItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.Thumbnail} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected ThumbnailItemProvider thumbnailItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.Thumbnail}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createThumbnailAdapter() {
		if (thumbnailItemProvider == null) {
			thumbnailItemProvider = new ThumbnailItemProvider(this);
		}

		return thumbnailItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.TN} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected TNItemProvider tnItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.TN}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createTNAdapter() {
		if (tnItemProvider == null) {
			tnItemProvider = new TNItemProvider(this);
		}

		return tnItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.TS1} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected TS1ItemProvider ts1ItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.TS1}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createTS1Adapter() {
		if (ts1ItemProvider == null) {
			ts1ItemProvider = new TS1ItemProvider(this);
		}

		return ts1ItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.hl7.v3.UVPTS} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected UVPTSItemProvider uvptsItemProvider;

	/**
	 * This creates an adapter for a {@link org.hl7.v3.UVPTS}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createUVPTSAdapter() {
		if (uvptsItemProvider == null) {
			uvptsItemProvider = new UVPTSItemProvider(this);
		}

		return uvptsItemProvider;
	}

	/**
	 * This returns the root adapter factory that contains this factory.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public ComposeableAdapterFactory getRootAdapterFactory() {
		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
	}

	/**
	 * This sets the composed adapter factory that contains this factory.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
		this.parentAdapterFactory = parentAdapterFactory;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public boolean isFactoryForType(Object type) {
		return supportedTypes.contains(type) || super.isFactoryForType(type);
	}

	/**
	 * This implementation substitutes the factory itself as the key for the adapter.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter adapt(Notifier notifier, Object type) {
		return super.adapt(notifier, this);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Object adapt(Object object, Object type) {
		if (isFactoryForType(type)) {
			Object adapter = super.adapt(object, type);
			if (!(type instanceof Class) || (((Class<?>)type).isInstance(adapter))) {
				return adapter;
			}
		}

		return null;
	}

	/**
	 * This adds a listener.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void addListener(INotifyChangedListener notifyChangedListener) {
		changeNotifier.addListener(notifyChangedListener);
	}

	/**
	 * This removes a listener.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void removeListener(INotifyChangedListener notifyChangedListener) {
		changeNotifier.removeListener(notifyChangedListener);
	}

	/**
	 * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void fireNotifyChanged(Notification notification) {
		changeNotifier.fireNotifyChanged(notification);

		if (parentAdapterFactory != null) {
			parentAdapterFactory.fireNotifyChanged(notification);
		}
	}

	/**
	 * This disposes all of the item providers created by this factory. 
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void dispose() {
		if (adItemProvider != null) adItemProvider.dispose();
		if (adxpItemProvider != null) adxpItemProvider.dispose();
		if (adxpAdditionalLocatorItemProvider != null) adxpAdditionalLocatorItemProvider.dispose();
		if (adxpBuildingNumberSuffixItemProvider != null) adxpBuildingNumberSuffixItemProvider.dispose();
		if (adxpCareOfItemProvider != null) adxpCareOfItemProvider.dispose();
		if (adxpCensusTractItemProvider != null) adxpCensusTractItemProvider.dispose();
		if (adxpCityItemProvider != null) adxpCityItemProvider.dispose();
		if (adxpCountryItemProvider != null) adxpCountryItemProvider.dispose();
		if (adxpCountyItemProvider != null) adxpCountyItemProvider.dispose();
		if (adxpDelimiterItemProvider != null) adxpDelimiterItemProvider.dispose();
		if (adxpDeliveryAddressLineItemProvider != null) adxpDeliveryAddressLineItemProvider.dispose();
		if (adxpDeliveryInstallationAreaItemProvider != null) adxpDeliveryInstallationAreaItemProvider.dispose();
		if (adxpDeliveryInstallationQualifierItemProvider != null) adxpDeliveryInstallationQualifierItemProvider.dispose();
		if (adxpDeliveryInstallationTypeItemProvider != null) adxpDeliveryInstallationTypeItemProvider.dispose();
		if (adxpDeliveryModeItemProvider != null) adxpDeliveryModeItemProvider.dispose();
		if (adxpDeliveryModeIdentifierItemProvider != null) adxpDeliveryModeIdentifierItemProvider.dispose();
		if (adxpDirectionItemProvider != null) adxpDirectionItemProvider.dispose();
		if (adxpHouseNumberItemProvider != null) adxpHouseNumberItemProvider.dispose();
		if (adxpHouseNumberNumericItemProvider != null) adxpHouseNumberNumericItemProvider.dispose();
		if (adxpPostalCodeItemProvider != null) adxpPostalCodeItemProvider.dispose();
		if (adxpPostBoxItemProvider != null) adxpPostBoxItemProvider.dispose();
		if (adxpPrecinctItemProvider != null) adxpPrecinctItemProvider.dispose();
		if (adxpStateItemProvider != null) adxpStateItemProvider.dispose();
		if (adxpStreetAddressLineItemProvider != null) adxpStreetAddressLineItemProvider.dispose();
		if (adxpStreetNameItemProvider != null) adxpStreetNameItemProvider.dispose();
		if (adxpStreetNameBaseItemProvider != null) adxpStreetNameBaseItemProvider.dispose();
		if (adxpStreetNameTypeItemProvider != null) adxpStreetNameTypeItemProvider.dispose();
		if (adxpUnitIDItemProvider != null) adxpUnitIDItemProvider.dispose();
		if (adxpUnitTypeItemProvider != null) adxpUnitTypeItemProvider.dispose();
		if (anyNonNullItemProvider != null) anyNonNullItemProvider.dispose();
		if (bl1ItemProvider != null) bl1ItemProvider.dispose();
		if (bn1ItemProvider != null) bn1ItemProvider.dispose();
		if (bxitcdItemProvider != null) bxitcdItemProvider.dispose();
		if (bxitivlpqItemProvider != null) bxitivlpqItemProvider.dispose();
		if (cdItemProvider != null) cdItemProvider.dispose();
		if (ceItemProvider != null) ceItemProvider.dispose();
		if (coItemProvider != null) coItemProvider.dispose();
		if (crItemProvider != null) crItemProvider.dispose();
		if (cs1ItemProvider != null) cs1ItemProvider.dispose();
		if (cvItemProvider != null) cvItemProvider.dispose();
		if (documentRootItemProvider != null) documentRootItemProvider.dispose();
		if (edItemProvider != null) edItemProvider.dispose();
		if (eivlEventItemProvider != null) eivlEventItemProvider.dispose();
		if (eivlppdtsItemProvider != null) eivlppdtsItemProvider.dispose();
		if (eivltsItemProvider != null) eivltsItemProvider.dispose();
		if (enItemProvider != null) enItemProvider.dispose();
		if (enDelimiterItemProvider != null) enDelimiterItemProvider.dispose();
		if (enFamilyItemProvider != null) enFamilyItemProvider.dispose();
		if (enGivenItemProvider != null) enGivenItemProvider.dispose();
		if (enPrefixItemProvider != null) enPrefixItemProvider.dispose();
		if (enSuffixItemProvider != null) enSuffixItemProvider.dispose();
		if (enxpItemProvider != null) enxpItemProvider.dispose();
		if (glistpqItemProvider != null) glistpqItemProvider.dispose();
		if (glisttsItemProvider != null) glisttsItemProvider.dispose();
		if (hxitceItemProvider != null) hxitceItemProvider.dispose();
		if (hxitpqItemProvider != null) hxitpqItemProvider.dispose();
		if (iiItemProvider != null) iiItemProvider.dispose();
		if (int1ItemProvider != null) int1ItemProvider.dispose();
		if (ivlintItemProvider != null) ivlintItemProvider.dispose();
		if (ivlmoItemProvider != null) ivlmoItemProvider.dispose();
		if (ivlppdpqItemProvider != null) ivlppdpqItemProvider.dispose();
		if (ivlppdtsItemProvider != null) ivlppdtsItemProvider.dispose();
		if (ivlpqItemProvider != null) ivlpqItemProvider.dispose();
		if (ivlrealItemProvider != null) ivlrealItemProvider.dispose();
		if (ivltsItemProvider != null) ivltsItemProvider.dispose();
		if (ivxbintItemProvider != null) ivxbintItemProvider.dispose();
		if (ivxbmoItemProvider != null) ivxbmoItemProvider.dispose();
		if (ivxbppdpqItemProvider != null) ivxbppdpqItemProvider.dispose();
		if (ivxbppdtsItemProvider != null) ivxbppdtsItemProvider.dispose();
		if (ivxbpqItemProvider != null) ivxbpqItemProvider.dispose();
		if (ivxbrealItemProvider != null) ivxbrealItemProvider.dispose();
		if (ivxbtsItemProvider != null) ivxbtsItemProvider.dispose();
		if (moItemProvider != null) moItemProvider.dispose();
		if (onItemProvider != null) onItemProvider.dispose();
		if (pivlppdtsItemProvider != null) pivlppdtsItemProvider.dispose();
		if (pivltsItemProvider != null) pivltsItemProvider.dispose();
		if (pnItemProvider != null) pnItemProvider.dispose();
		if (pocdmt000040ActItemProvider != null) pocdmt000040ActItemProvider.dispose();
		if (pocdmt000040AssignedAuthorItemProvider != null) pocdmt000040AssignedAuthorItemProvider.dispose();
		if (pocdmt000040AssignedCustodianItemProvider != null) pocdmt000040AssignedCustodianItemProvider.dispose();
		if (pocdmt000040AssignedEntityItemProvider != null) pocdmt000040AssignedEntityItemProvider.dispose();
		if (pocdmt000040AssociatedEntityItemProvider != null) pocdmt000040AssociatedEntityItemProvider.dispose();
		if (pocdmt000040AuthenticatorItemProvider != null) pocdmt000040AuthenticatorItemProvider.dispose();
		if (pocdmt000040AuthorItemProvider != null) pocdmt000040AuthorItemProvider.dispose();
		if (pocdmt000040AuthoringDeviceItemProvider != null) pocdmt000040AuthoringDeviceItemProvider.dispose();
		if (pocdmt000040AuthorizationItemProvider != null) pocdmt000040AuthorizationItemProvider.dispose();
		if (pocdmt000040BirthplaceItemProvider != null) pocdmt000040BirthplaceItemProvider.dispose();
		if (pocdmt000040ClinicalDocumentItemProvider != null) pocdmt000040ClinicalDocumentItemProvider.dispose();
		if (pocdmt000040Component1ItemProvider != null) pocdmt000040Component1ItemProvider.dispose();
		if (pocdmt000040Component2ItemProvider != null) pocdmt000040Component2ItemProvider.dispose();
		if (pocdmt000040Component3ItemProvider != null) pocdmt000040Component3ItemProvider.dispose();
		if (pocdmt000040Component4ItemProvider != null) pocdmt000040Component4ItemProvider.dispose();
		if (pocdmt000040Component5ItemProvider != null) pocdmt000040Component5ItemProvider.dispose();
		if (pocdmt000040ConsentItemProvider != null) pocdmt000040ConsentItemProvider.dispose();
		if (pocdmt000040ConsumableItemProvider != null) pocdmt000040ConsumableItemProvider.dispose();
		if (pocdmt000040CriterionItemProvider != null) pocdmt000040CriterionItemProvider.dispose();
		if (pocdmt000040CustodianItemProvider != null) pocdmt000040CustodianItemProvider.dispose();
		if (pocdmt000040CustodianOrganizationItemProvider != null) pocdmt000040CustodianOrganizationItemProvider.dispose();
		if (pocdmt000040DataEntererItemProvider != null) pocdmt000040DataEntererItemProvider.dispose();
		if (pocdmt000040DeviceItemProvider != null) pocdmt000040DeviceItemProvider.dispose();
		if (pocdmt000040DocumentationOfItemProvider != null) pocdmt000040DocumentationOfItemProvider.dispose();
		if (pocdmt000040EncompassingEncounterItemProvider != null) pocdmt000040EncompassingEncounterItemProvider.dispose();
		if (pocdmt000040EncounterItemProvider != null) pocdmt000040EncounterItemProvider.dispose();
		if (pocdmt000040EncounterParticipantItemProvider != null) pocdmt000040EncounterParticipantItemProvider.dispose();
		if (pocdmt000040EntityItemProvider != null) pocdmt000040EntityItemProvider.dispose();
		if (pocdmt000040EntryItemProvider != null) pocdmt000040EntryItemProvider.dispose();
		if (pocdmt000040EntryRelationshipItemProvider != null) pocdmt000040EntryRelationshipItemProvider.dispose();
		if (pocdmt000040ExternalActItemProvider != null) pocdmt000040ExternalActItemProvider.dispose();
		if (pocdmt000040ExternalDocumentItemProvider != null) pocdmt000040ExternalDocumentItemProvider.dispose();
		if (pocdmt000040ExternalObservationItemProvider != null) pocdmt000040ExternalObservationItemProvider.dispose();
		if (pocdmt000040ExternalProcedureItemProvider != null) pocdmt000040ExternalProcedureItemProvider.dispose();
		if (pocdmt000040GuardianItemProvider != null) pocdmt000040GuardianItemProvider.dispose();
		if (pocdmt000040HealthCareFacilityItemProvider != null) pocdmt000040HealthCareFacilityItemProvider.dispose();
		if (pocdmt000040Informant12ItemProvider != null) pocdmt000040Informant12ItemProvider.dispose();
		if (pocdmt000040InformationRecipientItemProvider != null) pocdmt000040InformationRecipientItemProvider.dispose();
		if (pocdmt000040InfrastructureRootTypeIdItemProvider != null) pocdmt000040InfrastructureRootTypeIdItemProvider.dispose();
		if (pocdmt000040InFulfillmentOfItemProvider != null) pocdmt000040InFulfillmentOfItemProvider.dispose();
		if (pocdmt000040IntendedRecipientItemProvider != null) pocdmt000040IntendedRecipientItemProvider.dispose();
		if (pocdmt000040LabeledDrugItemProvider != null) pocdmt000040LabeledDrugItemProvider.dispose();
		if (pocdmt000040LanguageCommunicationItemProvider != null) pocdmt000040LanguageCommunicationItemProvider.dispose();
		if (pocdmt000040LegalAuthenticatorItemProvider != null) pocdmt000040LegalAuthenticatorItemProvider.dispose();
		if (pocdmt000040LocationItemProvider != null) pocdmt000040LocationItemProvider.dispose();
		if (pocdmt000040MaintainedEntityItemProvider != null) pocdmt000040MaintainedEntityItemProvider.dispose();
		if (pocdmt000040ManufacturedProductItemProvider != null) pocdmt000040ManufacturedProductItemProvider.dispose();
		if (pocdmt000040MaterialItemProvider != null) pocdmt000040MaterialItemProvider.dispose();
		if (pocdmt000040NonXMLBodyItemProvider != null) pocdmt000040NonXMLBodyItemProvider.dispose();
		if (pocdmt000040ObservationItemProvider != null) pocdmt000040ObservationItemProvider.dispose();
		if (pocdmt000040ObservationMediaItemProvider != null) pocdmt000040ObservationMediaItemProvider.dispose();
		if (pocdmt000040ObservationRangeItemProvider != null) pocdmt000040ObservationRangeItemProvider.dispose();
		if (pocdmt000040OrderItemProvider != null) pocdmt000040OrderItemProvider.dispose();
		if (pocdmt000040OrganizationItemProvider != null) pocdmt000040OrganizationItemProvider.dispose();
		if (pocdmt000040OrganizationPartOfItemProvider != null) pocdmt000040OrganizationPartOfItemProvider.dispose();
		if (pocdmt000040OrganizerItemProvider != null) pocdmt000040OrganizerItemProvider.dispose();
		if (pocdmt000040ParentDocumentItemProvider != null) pocdmt000040ParentDocumentItemProvider.dispose();
		if (pocdmt000040Participant1ItemProvider != null) pocdmt000040Participant1ItemProvider.dispose();
		if (pocdmt000040Participant2ItemProvider != null) pocdmt000040Participant2ItemProvider.dispose();
		if (pocdmt000040ParticipantRoleItemProvider != null) pocdmt000040ParticipantRoleItemProvider.dispose();
		if (pocdmt000040PatientItemProvider != null) pocdmt000040PatientItemProvider.dispose();
		if (pocdmt000040PatientRoleItemProvider != null) pocdmt000040PatientRoleItemProvider.dispose();
		if (pocdmt000040Performer1ItemProvider != null) pocdmt000040Performer1ItemProvider.dispose();
		if (pocdmt000040Performer2ItemProvider != null) pocdmt000040Performer2ItemProvider.dispose();
		if (pocdmt000040PersonItemProvider != null) pocdmt000040PersonItemProvider.dispose();
		if (pocdmt000040PlaceItemProvider != null) pocdmt000040PlaceItemProvider.dispose();
		if (pocdmt000040PlayingEntityItemProvider != null) pocdmt000040PlayingEntityItemProvider.dispose();
		if (pocdmt000040PreconditionItemProvider != null) pocdmt000040PreconditionItemProvider.dispose();
		if (pocdmt000040ProcedureItemProvider != null) pocdmt000040ProcedureItemProvider.dispose();
		if (pocdmt000040ProductItemProvider != null) pocdmt000040ProductItemProvider.dispose();
		if (pocdmt000040RecordTargetItemProvider != null) pocdmt000040RecordTargetItemProvider.dispose();
		if (pocdmt000040ReferenceItemProvider != null) pocdmt000040ReferenceItemProvider.dispose();
		if (pocdmt000040ReferenceRangeItemProvider != null) pocdmt000040ReferenceRangeItemProvider.dispose();
		if (pocdmt000040RegionOfInterestItemProvider != null) pocdmt000040RegionOfInterestItemProvider.dispose();
		if (pocdmt000040RegionOfInterestValueItemProvider != null) pocdmt000040RegionOfInterestValueItemProvider.dispose();
		if (pocdmt000040RelatedDocumentItemProvider != null) pocdmt000040RelatedDocumentItemProvider.dispose();
		if (pocdmt000040RelatedEntityItemProvider != null) pocdmt000040RelatedEntityItemProvider.dispose();
		if (pocdmt000040RelatedSubjectItemProvider != null) pocdmt000040RelatedSubjectItemProvider.dispose();
		if (pocdmt000040ResponsiblePartyItemProvider != null) pocdmt000040ResponsiblePartyItemProvider.dispose();
		if (pocdmt000040SectionItemProvider != null) pocdmt000040SectionItemProvider.dispose();
		if (pocdmt000040ServiceEventItemProvider != null) pocdmt000040ServiceEventItemProvider.dispose();
		if (pocdmt000040SpecimenItemProvider != null) pocdmt000040SpecimenItemProvider.dispose();
		if (pocdmt000040SpecimenRoleItemProvider != null) pocdmt000040SpecimenRoleItemProvider.dispose();
		if (pocdmt000040StructuredBodyItemProvider != null) pocdmt000040StructuredBodyItemProvider.dispose();
		if (pocdmt000040SubjectItemProvider != null) pocdmt000040SubjectItemProvider.dispose();
		if (pocdmt000040SubjectPersonItemProvider != null) pocdmt000040SubjectPersonItemProvider.dispose();
		if (pocdmt000040SubstanceAdministrationItemProvider != null) pocdmt000040SubstanceAdministrationItemProvider.dispose();
		if (pocdmt000040SupplyItemProvider != null) pocdmt000040SupplyItemProvider.dispose();
		if (ppdpqItemProvider != null) ppdpqItemProvider.dispose();
		if (ppdtsItemProvider != null) ppdtsItemProvider.dispose();
		if (pqItemProvider != null) pqItemProvider.dispose();
		if (pqrItemProvider != null) pqrItemProvider.dispose();
		if (real1ItemProvider != null) real1ItemProvider.dispose();
		if (rtoItemProvider != null) rtoItemProvider.dispose();
		if (rtomopqItemProvider != null) rtomopqItemProvider.dispose();
		if (rtopqpqItemProvider != null) rtopqpqItemProvider.dispose();
		if (rtoqtyqtyItemProvider != null) rtoqtyqtyItemProvider.dispose();
		if (scItemProvider != null) scItemProvider.dispose();
		if (slistpqItemProvider != null) slistpqItemProvider.dispose();
		if (slisttsItemProvider != null) slisttsItemProvider.dispose();
		if (st1ItemProvider != null) st1ItemProvider.dispose();
		if (strucDocBrItemProvider != null) strucDocBrItemProvider.dispose();
		if (strucDocCaptionItemProvider != null) strucDocCaptionItemProvider.dispose();
		if (strucDocColItemProvider != null) strucDocColItemProvider.dispose();
		if (strucDocColgroupItemProvider != null) strucDocColgroupItemProvider.dispose();
		if (strucDocContentItemProvider != null) strucDocContentItemProvider.dispose();
		if (strucDocFootnoteItemProvider != null) strucDocFootnoteItemProvider.dispose();
		if (strucDocFootnoteRefItemProvider != null) strucDocFootnoteRefItemProvider.dispose();
		if (strucDocItemItemProvider != null) strucDocItemItemProvider.dispose();
		if (strucDocLinkHtmlItemProvider != null) strucDocLinkHtmlItemProvider.dispose();
		if (strucDocListItemProvider != null) strucDocListItemProvider.dispose();
		if (strucDocParagraphItemProvider != null) strucDocParagraphItemProvider.dispose();
		if (strucDocRenderMultiMediaItemProvider != null) strucDocRenderMultiMediaItemProvider.dispose();
		if (strucDocSubItemProvider != null) strucDocSubItemProvider.dispose();
		if (strucDocSupItemProvider != null) strucDocSupItemProvider.dispose();
		if (strucDocTableItemProvider != null) strucDocTableItemProvider.dispose();
		if (strucDocTbodyItemProvider != null) strucDocTbodyItemProvider.dispose();
		if (strucDocTdItemProvider != null) strucDocTdItemProvider.dispose();
		if (strucDocTextItemProvider != null) strucDocTextItemProvider.dispose();
		if (strucDocTfootItemProvider != null) strucDocTfootItemProvider.dispose();
		if (strucDocThItemProvider != null) strucDocThItemProvider.dispose();
		if (strucDocTheadItemProvider != null) strucDocTheadItemProvider.dispose();
		if (strucDocTitleItemProvider != null) strucDocTitleItemProvider.dispose();
		if (strucDocTitleContentItemProvider != null) strucDocTitleContentItemProvider.dispose();
		if (strucDocTitleFootnoteItemProvider != null) strucDocTitleFootnoteItemProvider.dispose();
		if (strucDocTrItemProvider != null) strucDocTrItemProvider.dispose();
		if (sxcmcdItemProvider != null) sxcmcdItemProvider.dispose();
		if (sxcmintItemProvider != null) sxcmintItemProvider.dispose();
		if (sxcmmoItemProvider != null) sxcmmoItemProvider.dispose();
		if (sxcmppdpqItemProvider != null) sxcmppdpqItemProvider.dispose();
		if (sxcmppdtsItemProvider != null) sxcmppdtsItemProvider.dispose();
		if (sxcmpqItemProvider != null) sxcmpqItemProvider.dispose();
		if (sxcmrealItemProvider != null) sxcmrealItemProvider.dispose();
		if (sxcmtsItemProvider != null) sxcmtsItemProvider.dispose();
		if (sxprtsItemProvider != null) sxprtsItemProvider.dispose();
		if (telItemProvider != null) telItemProvider.dispose();
		if (thumbnailItemProvider != null) thumbnailItemProvider.dispose();
		if (tnItemProvider != null) tnItemProvider.dispose();
		if (ts1ItemProvider != null) ts1ItemProvider.dispose();
		if (uvptsItemProvider != null) uvptsItemProvider.dispose();
	}

}
